The High Efficiency Video Coding (HEVC) standard is developed under the joint video project of the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) standardization organizations, and is especially with partnership known as the Joint Collaborative Team on Video Coding (JCT-VC). In HEVC, one slice is partitioned into multiple coding tree units (CTU). In main profile, the minimum and the maximum sizes of CTU are specified by the syntax elements in the sequence parameter set (SPS). The allowed CTU size can be 8×8, 16×16, 32×32, or 64×64. For each slice, the CTUs within the slice are processed according to a raster scan order.
The CTU is further partitioned into multiple coding units (CU) to adapt to various local characteristics. A quadtree, denoted as the coding tree, is used to partition the CTU into multiple CUs. Let CTU size be M×M, where M is one of the values of 64, 32, or 16. The CTU can be a single CU (i.e., no splitting) or can be split into four smaller units of equal sizes (i.e., M/2×M/2 each), which correspond to the nodes of the coding tree. If units are leaf nodes of the coding tree, the units become CUs. Otherwise, the quadtree splitting process can be iterated until the size for a node reaches a minimum allowed CU size as specified in the SPS (Sequence Parameter Set).
Furthermore, according to HEVC, each CU can be partitioned into one or more prediction units (PU). Coupled with the CU, the PU works as a basic representative block for sharing the prediction information. Inside each PU, the same prediction process is applied and the relevant information is transmitted to the decoder on a PU basis. A CU can be split into one, two or four PUs according to the PU splitting type. HEVC defines eight shapes for splitting a CU into PU, including 2N×2N, 2N×N, N×2N, N×N, 2N×nU, 2N×nD, nL×2N and nR×2N partition types. Unlike the CU, the PU may only be split once according to HEVC. The partitions shown in the second row correspond to asymmetric partitions, where the two partitioned parts have different sizes. After Intra/Inter prediction, the residues for each CU is partitioned into one or more transform units (TUs) and a 2D transform is applied to each transform unit (TU) for residual compression.
The HEVC coding comprises Inter prediction and Intra prediction. A smoothing operation is applied to the reference samples as a pre-processing step before calculating the prediction. This smoothing operation corresponds to applying an FIR-filter with filter weights[1,2,1]>>2, with low-pass characteristics to the samples belonging to the left column and the above row of the current TU (transform unit). The Intra prediction of each TU is produced with the reconstructed samples of neighboring TUs. The Intra prediction mode is selected from DC mode, planar mode, and 33 directional modes by encoder and signaled in the bitstream. FIG. 1 shows the 33 directional Intra prediction modes (i.e., mode 2 through mode 34) used for luma Intra prediction. The directional prediction modes are also referred as angular prediction modes.
An international standard organization called JVET (joint video exploration team) has been established by both ITU-T VCEG and ISO/IEC MPEG to study the next generation video coding technologies. Reference software called JEM (joint exploration model) is built up based on HEVC's reference software (HM), where DC mode, planar mode and 65 directional Intra prediction modes are included in JEM software for luma Intra prediction. FIG. 2 shows the 65 directional Intra prediction modes (i.e., mode 2 through mode 66) used for luma Intra prediction. Accordingly, there are a total of 67 luma Intra prediction modes in JEM.
Out of all 67 Intra prediction modes in JEM, six three modes are considered as most probable modes (MPM) for predicting the Intra prediction mode in current prediction block. A current mode is signaled using an MPM index and remaining mode. When MPM is not used, a flag selected_mode_flag is signaled to indicate the remaining mode being selected, which is coded using Truncated Binary (TB) with a maximum value of 45 or 4 bit Fixed-Length Code (FLC).
In JEM, the number of chroma Intra prediction modes is 6, which includes derived mode or direct mode (DM), Vertical mode (VER), horizontal mode (HOR), diagonal mode (DIA), DC mode and planar mode. When DM indicates that the mode is one of DC, planar, HOR and VER, VDIA is used instead of the mode, where VDIA corresponds to the diagonal direction from the top-right corner toward the bottom-left corner. For a DM-coded chroma block, the Intra mode for the chroma is inherited from the Intra mode of the collocated luma block. For a LM-coded chroma block, the predictor is derived based on linear model of the collocated luma block.
According to the JEM, for signaling the chroma Intra prediction mode, a flag indicating whether the mode is DM is signaled first. If it is a DM mode, the chroma Intra prediction mode is the same as the Intra prediction mode of a collocated luma block. If it is not DM, then another flag indicating whether the mode is LM is signaled. Both DM and LM are coded using context-based coding. If the mode is neither DM nor LM, a 2-bit fixed-length code is used to indicate the index of the mode.
The chroma Intra prediction according to the existing HEVC standard is not very flexible. Also, HEVC has very limited selection of chroma Intra prediction, which is not best for high quality videos with abundant colors. Especially, the current signaling method for the chroma Intra mode is not very coding efficient to cover wide range of Intra prediction modes. It is desirable to develop newer or more advanced chroma Intra prediction to improve the coding performance.